import axios from "axios"
import {nanoid} from 'nanoid'

//准备person模块的配置项
const personOptions = {
    namespaced: true,
    actions: {
        addPersonWang(context, value) {
            //这个action只能添加姓王的人
            if (value.name.indexOf('王') === 0) {
                context.commit('ADD_PERSON', value)
            } else {
                alert('添加的人必须姓王！')
            }
        },
        addPersonServer(context, value) {
            //从服务器上获取一段文字作为新添加的人名，参数不需要传value
            axios.get('https://api.uixsj.cn/hitokoto/get?type=social')
            .then(resp=>{
                context.commit('ADD_PERSON', {id: nanoid(), name: resp.data})
            }, error => {
                alert(error.message)
            })
        }
    },
    mutations: {
        ADD_PERSON(state, value) {
            //mutations添加人员
            state.personList.unshift(value)
        },
    },
    state: {
        personList: [ //person组件的数据
            {id: '001', name: '张三'}
        ]
    },
    getters: {
        firstPersonName(state) {
            //获取列表第一个人的名字。注意这里的state是只有本模块的数据
            return state.personList[0].name
        }
    }
}

export default personOptions